/* eslint-disable */
import {hiprint} from '../../index'

// 自定义设计元素1
export const aProvider = function (ops) {
    var typeGroup = []
    if (ops.length > 0) {
        ops.forEach(item => {
            var testData = item.name;
            var module = null;
            if (item.type === 'image') {
                module = {tid: 'aProviderModule.'+item.fields, title: item.name, type: 'image', options: {
                    field: item.fields,
                        hideTitle: true,
                        textContentVerticalAlign: "middle",
                        zIndex: 1
                    }};
            } else if (item.type === 'qrcode') {
                module = {tid: 'aProviderModule.'+item.fields, title: item.name, data: item.conf_id, type: 'text', options: {
                        testData: item.conf_id,
                        field: item.fields,
                        height: 32,
                        fontSize: 12,
                        lineHeight: 18,
                        textType: "qrcode",
                        hideTitle: true,
                        textContentVerticalAlign: "middle",
                        zIndex: 1
                    }};
            } else {
                module = {
                    tid: 'aProviderModule.' + item.fields, title: item.name, data: item.name, type: 'text',
                    options: {
                        field: item.fields,
                        testData: testData,
                        height: 17,
                        fontSize: 16.5,
                        fontWeight: "700",
                        textAlign: "center",
                        hideTitle: true,
                        textContentVerticalAlign: "middle",
                        zIndex: 1
                    }
                }
            }
            typeGroup.push(module);
        })
    }
    var addElementTypes = function(context) {
        context.removePrintElementTypes("aProviderModule");
        context.addPrintElementTypes(
            "aProviderModule",
            [
                // new hiprint.PrintElementTypeGroup("背景：", [
                //     {
                //         tid: 'aProviderModule.bg',
                //         title: '上传背景图片',
                //         type: 'image',
                //         options: {
                //             hideTitle: true
                //         }
                //     }
                // ]),
                new hiprint.PrintElementTypeGroup("字段名称：", typeGroup),
                new hiprint.PrintElementTypeGroup("辅助：", [
                    {
                        tid: 'bProviderModule.image',
                        title: '上传图片',
                        type: 'image',
                        options: {
                            hideTitle: true
                        },
                        zIndex: 1
                    },
                    // {tid: 'bProviderModule.customText', title: '文本', customText: '自定义文本', custom: true, type: 'text', zIndex: 1},
                    {
                        tid: 'bProviderModule.customText', title: '自定义文本', type: 'text', options: {
                            field: '',
                            width: 200,
                            testData: '',
                            zIndex: 1,
                            hideTitle: false,
                            custom: true,
                            height: 16,
                            fontSize: 6.75,
                            fontWeight: "700",
                            textAlign: "left",
                            textContentVerticalAlign: "middle"
                        },
                    },
                    // {
                    //     tid: 'bProviderModule.customText', title: '自定义文本', data: '', type: 'longText',
                    //     options: {
                    //         // field: 'tel',
                    //         testData: '',
                    //         width: 200,
                    //         height: 16,
                    //         fontSize: 6.75,
                    //         fontWeight: "700",
                    //         textAlign: "left",
                    //         hideTitle: false,
                    //         textContentVerticalAlign: "middle"
                    //     }
                    // },
                    {
                        tid: 'bProviderModule.hline',
                        title: '横线',
                        type: 'hline',
                        zIndex: 1
                    },
                    {
                        tid: 'bProviderModule.vline',
                        title: '竖线',
                        type: 'vline',
                        zIndex: 1
                    }
                ])
            ]
        )
    }
  return {
    addElementTypes: addElementTypes
  };
};

// 自定义设计元素2
export const bProvider = function (ops) {
  var addElementTypes = function (context) {
    context.removePrintElementTypes("bProviderModule");
    context.addPrintElementTypes(
      "bProviderModule",
      [
        new hiprint.PrintElementTypeGroup("常规", [
          {
            tid: 'bProviderModule.header', title: '单据表头', data: '单据表头', type: 'text',
            options: {
              testData: '单据表头',
              height: 17,
              fontSize: 16.5,
              fontWeight: "700",
              textAlign: "center",
              hideTitle: true
            }
          },
          {
            tid: 'bProviderModule.type', title: '单据类型', data: '单据类型', type: 'text',
            options: {
              testData: '单据类型',
              height: 16,
              fontSize: 15,
              fontWeight: "700",
              textAlign: "center",
              hideTitle: true
            }
          },
          {
            tid: 'bProviderModule.order', title: '订单编号', data: 'XS888888888', type: 'text',
            options: {
              field: 'orderId',
              testData: 'XS888888888',
              height: 16,
              fontSize: 6.75,
              fontWeight: "700",
              textAlign: "left",
              textContentVerticalAlign: "middle"
            }
          },
          {
            tid: 'bProviderModule.date', title: '业务日期', data: '2020-01-01', type: 'text',
            options: {
              field: 'date',
              testData: '2020-01-01',
              height: 16,
              fontSize: 6.75,
              fontWeight: "700",
              textAlign: "left",
              textContentVerticalAlign: "middle"
            }
          },
          {
            tid: 'bProviderModule.barcode', title: '条形码', data: 'XS888888888', type: 'text',
            options: {
              field: 'barcode',
              testData: 'XS888888888',
              height: 32,
              fontSize: 12,
              lineHeight: 18,
              textType: "barcode"
            }
          },
          {
            tid: 'bProviderModule.qrcode', title: '二维码', data: 'XS888888888', type: 'text',
            options: {
              field: 'qrcode',
              testData: 'XS888888888',
              height: 32,
              fontSize: 12,
              lineHeight: 18,
              textType: "qrcode"
            }
          },
          {
            tid: 'bProviderModule.platform', title: '平台名称', data: '平台名称', type: 'text',
            options: {
              testData: '平台名称',
              height: 17,
              fontSize: 16.5,
              fontWeight: "700",
              textAlign: "center",
              hideTitle: true
            }
          },
          {tid: 'bProviderModule.image', title: 'Logo', data: '', type: 'image'},
        ]),
        new hiprint.PrintElementTypeGroup("客户", [
          {
            tid: 'bProviderModule.khname', title: '客户名称', data: '高级客户', type: 'text',
            options: {
              field: 'name',
              testData: '高级客户',
              height: 16,
              fontSize: 6.75,
              fontWeight: "700",
              textAlign: "left",
              textContentVerticalAlign: "middle"
            }
          },
          {
            tid: 'bProviderModule.tel', title: '客户电话', data: '18888888888', type: 'text',
            options: {
              field: 'tel',
              testData: '18888888888',
              height: 16,
              fontSize: 6.75,
              fontWeight: "700",
              textAlign: "left",
              textContentVerticalAlign: "middle"
            }
          },
        ]),
        new hiprint.PrintElementTypeGroup("表格/其他", [
          {
            tid: 'bProviderModule.table', title: '订单数据',
            type: 'table',
            options: {
              field: 'table',
              fields: [
                {text: '名称', field: 'NAME'},
                {text: '数量', field: 'SL'},
                {text: '规格', field: 'GG'},
                {text: '条码', field: 'TM'},
                {text: '单价', field: 'DJ'},
                {text: '金额', field: 'JE'},
                {text: '备注', field: 'DETAIL'},
              ],
            },
            editable: true,
            columnDisplayEditable: true,//列显示是否能编辑
            columnDisplayIndexEditable: true,//列顺序显示是否能编辑
            columnTitleEditable: true,//列标题是否能编辑
            columnResizable: true, //列宽是否能调整
            columnAlignEditable: true,//列对齐是否调整
            columns: [
              [
                {title: '名称', align: 'center', field: 'NAME', width: 100},
                {title: '数量', align: 'center', field: 'SL', width: 100},
                {title: '条码', align: 'center', field: 'TM', width: 100},
                {title: '规格', align: 'center', field: 'GG', width: 100},
                {title: '单价', align: 'center', field: 'DJ', width: 100},
                {title: '金额', align: 'center', field: 'JE', width: 100},
                {title: '备注', align: 'center', field: 'DETAIL', width: 100},
              ]
            ],
            footerFormatter: function (options, rows, data, currentPageGridRowsData) {
              if (data && data['totalCap']) {
                return `<td style="padding:0 10px" colspan="100">${'应收金额大写: ' + data['totalCap']}</td>`
              }
              return '<td style="padding:0 10px" colspan="100">应收金额大写: </td>'
            },
          },
          {tid: 'bProviderModule.customText', title: '文本', customText: '自定义文本', custom: true, type: 'text'},
          {
            tid: 'bProviderModule.longText', title: '长文本', type: 'longText', options: {
              field: 'test.longText',
              width: 200,
              testData: '长文本分页/不分页测试'
            },
          }
        ]),
        new hiprint.PrintElementTypeGroup("辅助", [
          {
            tid: 'bProviderModule.hline',
            title: '横线',
            type: 'hline'
          },
          {
            tid: 'bProviderModule.vline',
            title: '竖线',
            type: 'vline'
          },
          {
            tid: 'bProviderModule.rect',
            title: '矩形',
            type: 'rect'
          },
          {
            tid: 'bProviderModule.oval',
            title: '椭圆',
            type: 'oval'
          }
        ])
      ]
    );
  };
  return {
    addElementTypes: addElementTypes
  };
};

